declare const s: unique symbol;
class ClassMate implements ClassMateType {
  property: string[] = [];
  [s]: string = 'name';
  #name: string = 'name';

  // ！访问器属性不是函数！
  get name() {
    return this.#name;
  }
  set name(value: string) {
    this.#name = value;
  }
  accessor NAME = 'NAME';
  async *transform() {}
}

interface ClassMateType {
  /**
   * NAME gettable
   */
  get NAME(): string;
  /**
   * NAME settable
   */
  set NAME(value: string);
}
type Obj = {} & { new (): any } & { (): any };
// # 这部分就是 构造签名  ^       // #  ^ 这部分是 调用签名
